Process for the on-line sale of a software product

ABSTRACT

Online sale of software product use licenses through a data network by offering software products (SOFT) through vendor sites, purchasing a license on-line on one of said vendor sites, and activating said license on-line by a different licensing site. A specific component (COMP) is provided with the software product (SOFT) and identifying data (IDV) of the vendor site are transmitted during the download of the software product (SOFT). When the component (COMP) is executed in an equipment, the component (COMP) locally accesses said data (IDV) and identifying data (IDL) of the licensing site and activates the license by setting up an on-line communication with the licensing site.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application is related to and claims priority to Spanish Application No. 200602849 filed Nov. 10, 2006 and is incorporated by reference herein.

BACKGROUND

1. Field

The invention is included in the field of on-line sales of software products through a data network, for example, the Internet.

According to an aspect of the embodiments, a process, including an apparatus and computer readable medium thereof, of on-line sale of software product use licenses through a data network, are provided by:

-   -   offering online each of said software products to be downloaded         online, by a plurality of vendor sites;     -   offering for purchase online a use license for one of said         software products offered by one of said vendor sites and         downloaded on-line; and     -   authorizing activation of said use license on-line by a         licensing site different from said vendor sites.

The embodiments also comprise a software component which allows carrying out said process, including the apparatus and the computer readable medium thereof.

In the sense of this description and of the attached claims, software product refers to a product formed by a set of instructions which can be loaded in the memory of a computer and can be executed individually or in combination with another software product. According to this definition, a computer program, an installation program installing a program in the computer, a package for updating a computer program, an installing file downloading a computer program or an updating thereof on-line, a computer program library, etc. are examples of software products.

A site refers to any computer installation associated with a data network service providing a virtual site connected to the data network and able to exchange information and services on-line with other sites through said data network. According to an aspect of an embodiment, when the data network is Internet, the vendor sites and licensing sites can be websites comprising a main webpage identified by a URL address.

A software component is understood to refer to a set of instructions which can be loaded in the memory of a computer and incorporated in a software product to be executed together with the latter and provide specific functions. According to this definition, a dynamic library, a class or set of classes, a control or class with a graphic interface, a set of functions or any other type of software module are examples of software components.

2. Description of the Related Art

Software manufacturing companies currently sell their software products both by direct sales from their own websites and by indirect sales through their distributors.

In the case of direct sales, the purchaser usually downloads a software product from the software company's website and pays for and obtains a use license on-line on said website. Another commonly used option consists of the purchaser ordering the software product on-line on the company's website and the latter sending the software product by mail in the form of a CD or a DVD packed in a box containing a serial number for obtaining a use license.

Indirect sales through distributors allow a software company to multiply its sales channels and drastically reduce or even eliminate its own sales structure. Currently, when the sale is carried out indirectly through a shop or distributor, the software product is distributed in the form of a physical carrier, such as a CD or a DVD, packed in a box containing a serial number for activating a use license. This distribution in the form of a physical product is not very efficient compared to the on-line downloading of the software product from a website because it uses human and energy resources and raw materials.

Other on-line sales systems are known in which a software company advertises its software products on several independent websites which are not connected to it. The purchaser visits one of those websites, selects one of the advertised software products and is then automatically redirected to the software manufacturing company's website where the purchaser can acquire the software product on-line, like in the case of a direct sale set forth previously. In compensation, the software manufacturing company pays the owner of the independent website a commission for each forwarding to its own website. These sales systems are not indirect sales systems through distributors, rather they are similar to the case of a direct sale set forth previously, with the only difference that they allow advertising the products with a greater reach through independent websites. The software manufacturing company continues to support on its own website the necessary structure for carrying out the whole sales process, including the structure allowing downloading the software product, the payment for and the granting of a use license.

SUMMARY

The applicant has designed a new method for the on-line sale of software products through a data network in the form of a method, an apparatus and computer readable medium thereof, for the on-line sale of use licenses for the software products.

The new method of on-line sale designed by the applicant combines the advantages of indirect sales through distributors (multiplication of sales channels and reduction or elimination of its own sales structure) with the advantages of direct sales (the possibility of delivering the software product on-line, without a physical carrier).

This new method of sale is based on separating, on different sites (for example different websites), the process for acquiring the software product, understood as the process by which the purchaser carries out a commercial transaction for acquiring a use license for said software product, from the process for activating said use license for the software product, according to which the purchaser obtains the serial number, keys or any other type of data or program allowing the purchaser to use the software product in a certain computer or computers.

According to this new method, each software product is offered by a plurality of vendor sites for its on-line acquisition from an acquisition site, and the process for activating a use license for the software is carried out in a licensing site different from said vendor sites. According to this method, the on-line acquisition of the software product includes an on-line download of said software product as well as the on-line purchase of a use license on the vendor site which offered the software product. The software product can be downloaded directly from the vendor site itself offering said software product or from a downloading site associated to said vendor site. The use license is purchased on said vendor site, at the time of the download of the software product or afterwards, when it is necessary to obtain a use license for said software product. Once the use license has been paid for, an on-line communication is set up with the licensing site in order to activate it. Thus, in the sense of this description and of the attached claims, it must be understood that the use license which is purchased on said vendor site is an inactive use license, which remains inactive until the activation thereof by said licensing site. In other words, the purchased use license does not authorize use of the software product until the activation of said use license by the licensing site.

When the data network in which this method is implemented is Internet, the licensing site is normally the website of a software manufacturing company and the vendor sites are websites of distribution companies which can be independent of the manufacturing company. The advantage of this new method is that the software manufacturing company multiplies the range for spreading its software products and at the same time it is released from the obligation of having to manage the downloading and the payment for its software product.

Said new method provides that the purchaser can purchase the use license on-line on the vendor site at the same time the purchaser downloads the software product and, subsequently or simultaneously, carry out the process for activating the use license by communicating with the licensing site. It also provides that the purchaser can download a demonstration version of the software product from the vendor site that can only be used in a trial period after which it is necessary to obtain a use license. In this case, the use license is purchased from the vendor site on-line after downloading the software product, at the time in which the purchaser decides to purchase the use license, and then the purchaser can carry out the process for activating the license by communicating with the licensing site.

In both cases, after the distribution companies have collected payment made by the purchaser, they pay an agreed amount to the manufacturing company for the sale of the use license for the software product.

Said new method also provides an especially advantageous configuration in which a supervising entity is created which, through a supervising site which can set up on-line communications with the acquisition site, the vendor site and the licensing site, ensures that the sales process is carried out in suitable conditions. A manufacturing company and a distribution company can thus register in the supervising entity an agreement according to which the former authorizes the latter to offer its software product under certain conditions. The manufacturing company can withdraw its authorization in the event of non-compliance with the agreement. The supervising entity can also register and authorize the user purchasers of the system. Likewise, the supervising entity can intervene in the different sales processes to ensure that they are carried out in suitable conditions; for example, it can verify that the distribution company is authorized by the manufacturing company to sell the product, that the distribution company pays the manufacturing company the part specified in the agreement for the sale of software products, that the purchaser is a registered and authorized user, that the manufacturing company really has the power to grant use licenses for the software product, etc.).

The implementation of this new method for the on-line sale of software products, or more specifically the method for the on-line sale of use licenses for software products, has a series of technical problems which make it difficult to carry out.

In the first place, after having downloaded the software product on-line from the vendor site offering it or from a downloading site associated to the latter, the method requires that said vendor site can be identified in a reliable manner. Furthermore, this identification information of the vendor site must be available at the time that the end user decides to purchase the use license for the software product the purchaser has downloaded, a time which may not coincide with the download of the software product, but with the installation of the latter in equipment or with the expiration date of a demonstration version of the software product or with the expiration date of the temporary use license purchased previously.

Furthermore, the possibility of identifying the vendor site before the activation of the use license is essential because the licensing site has to be able to collect from said vendor site the part of the sale corresponding to it, but it must also have the certainty that the identified vendor site is really the one who has carried out the sale and is an authorized site. It is also necessary to be able to assure the purchaser that the purchaser will be able to activate the use license on the licensing site after purchasing it on a vendor site.

Secondly, the method requires a standard implementation that can be generalized for all types of software products. It must specifically be prevented that a licensing site which wants to sell its software products through this method has to adapt a software product for each vendor site.

One example purpose of the invention is to provide a process for implementing said new method of on-line sale designed by the applicant, which allows providing the licensing site, in a safe and effective manner, with the identifying data of the vendor site which has offered the software product for its on-line download and in which a use license has been purchased, such that the identifying data of the vendor site can be provided at the time in which the end user needs to activate the use license for the software product, and all of the above such that a licensing site can distribute its software product according to this method of sale without needing to adapt the software product for each vendor site.

The embodiments can be achieved by a process (including an apparatus and computer readable media thereof) of an on-line sale by:

-   -   incorporating a software component to each of said software         products offered by a vendor site, said software component         executable together with said software product and managing the         activation of a use license for said software product;     -   associating a transmission of identifying data of the vendor         site offering said software product to each of said on-line         downloading-process of one of said software products;     -   wherein said software component, when executed together with         said software product in an equipment, is able to locally access         said identifying data of the vendor site and to access         identifying data of the licensing site, and launches a process         for activating said use license for the software product         comprising setting up an on-line communication with said         licensing site during which said software component obtains from         said licensing site activation data necessary for activating         said use license.

The technical problems set forth are solved due to the fact that the identifying data of the vendor site are transferred during the software product downloading process, and to the fact that the software product incorporates said software component, which does not need to be customized for each vendor site, and is able to locally retrieve, in the equipment where the software product is being executed, the identifying data of the vendor site and of the licensing site. This solution further allows preserving the own or existing copy protection system of existing software products, given that the component can be incorporated in the software product and executed without interfering with said protection system. Nevertheless, as will be seen below in the description of several embodiments of the invention, the process for activating the use license applied by the component is by itself a copy protection system.

When the data network in which the method of sale according to the invention is Internet, the identifying data of the vendor site which are transmitted during the downloading process comprise the location of said vendor site in the network in the form of its URL address.

In the process according to the invention, setting up a communication between two sites must be understood as including both a direct communication between the two sites and an indirect communication through an intermediate site. Thus, for example, the communications set up by the software component with the vendor site or with the licensing site, from the equipment in which the software product is installed, can be carried out through an intermediate site without this affecting the principle of the invention. Indeed, what is important is that the software component locally accesses identifying data of the vendor site and of the licensing site, and from this data it is able to locate these sites in the network on one hand and on the other hand to provide the licensing site with data referring to the vendor site through which the download has been carried out and in which a use license has been purchased. The software component preferably communicates directly with the vendor site and directly with the licensing site. However, it can be provided that in the process for activating the license, the software component communicates directly with the vendor site, it provides it with the identifying data of the licensing site and then the communication with the licensing site is carried out directly through the vendor site. In this case, the process for activating the license would be carried out in the vendor site, but it is really the licensing site which is providing on-line the necessary data for activating the license through the vendor site. On the contrary, it can be provided that the software component communicates directly with the licensing site and that the communication with the vendor site to make the purchase is carried out through the licensing site. As will be seen below, it can also be provided that a supervising site intervenes as an intermediary in the different on-line communications.

The process according to the invention provides that the identifying data of the licensing site can be incorporated in the software product or in the software component. This last solution offers the advantage that the software manufacturing company can have a licensing site different from its main site, therefore the management of the former is facilitated. To that end, the software product incorporates therein, as usual, identifying data including the URL address of the main webpage of said company, whereas the software component incorporates therein the identifying data of the licensing site. Another advantage is that a single software component serves to integrate the identifying data of the licensing site in all the software products.

Preferably, after obtaining said activation data from the licensing site, the software component activates a use license for said software product. Therefore, the entire process for activating the license, leading to the release of the software product so that it can be used, is advantageously done by the software component itself.

Preferably, said on-line purchase on a vendor site of a use license for the software product preferably comprises a transmission of a purchase receipt from said vendor site, and when said software component is executed in said equipment, it locally accesses said purchase receipt and transmits it to the licensing site during the on-line communication during which the software component obtains said activation data from said licensing site. A guarantee that the purchase has been made on one of the authorized vendor sites is thus offered to the licensing site in a particularly efficient and robust manner. The purchase receipt advantageously includes identifying data of the vendor site. Said on-line purchase also preferably comprises setting up an on-line communication between said vendor site and said licensing site, during which said vendor site transmits a purchase receipt to said licensing site. In this way, the licensing site knows that the use license has been purchased and can claim payment of its corresponding part, without needing to wait until the purchaser had installed the software product in an equipment.

In one embodiment of the process according to the invention, an acquisition site sets up an on-line communication with one of said vendor sites, during which said on-line software product downloading process as well as on-line purchase of the use license for the software product are carried out. This embodiment generally corresponds to the case in which a purchaser downloads a final commercial version of the software product, i.e. a version with no demonstration period, instead of a demonstration version and then the use license must be purchased together with the download. The purchaser obtains the activation of the use license when the software product is installed, when the software component communicates with the licensing site during the process for activating the license.

In another embodiment, which is generally applied to the case in which a purchaser downloads a demonstration version of the software product, when the software component is executed in said equipment, it locally accesses the identifying data of the vendor site and sets up an on-line communication with said vendor site, during which said software component operates the on-line purchase of the use license of said software product. Therefore, the software component only launches the process for the on-line purchase of a use license when the user so decides, for example, by responding to an invitation of the software component itself when the test period of the demonstration version has concluded. Preferably, when the software component is executed in said equipment, it sets up an on-line communication with said licensing site, during which it communicates said identifying data of the vendor site to said licensing site so that said licensing site authorizes the on-line purchase of the software product use license on said vendor site, therefore the purchaser has the certainty that the sale is authorized by the licensing site and therefore the purchaser will be able to subsequently activate the use license.

Several solutions according to the invention can be provided for transmitting the identifying data of the vendor site. In a first solution, said identifying data are introduced in a downloadable file which is downloaded by the acquisition site together with the software product during the downloading process in the on-line communication set up by the acquisition site with the vendor site. In a preferred second solution, the software product is contained in a single downloadable file which is downloaded by the acquisition site during the downloading process, in the on-line communication set up by the acquisition site with the vendor site, and the transmission of identifying data of the vendor site is carried out by introducing said identifying data as file properties metadata of said downloadable file. Introducing said identifying data of the vendor site as file properties metadata of said downloadable file can be done in each of the vendor sites before the software product downloading process, but it is preferably done at the time in which the acquisition site downloads said downloadable file during the downloading process. Another solution includes the transmission of identifying data of the vendor site by transmitting a code to a user operating the software product downloading process, said code being subsequently provided to the software component when it is executed in said equipment. This code can be provided, for example, by means of an on-screen display or by sending it by e-mail.

In an advantageous embodiment, the intervention of a single supervising site, different from the licensing sites and from the vendor sites, is provided. Said single supervising site intervenes as an intermediary in the different communications between the sites participating in the on-line sale, for the purpose of ensuring that said sale is carried out in suitable conditions. The software product downloading process from a vendor site can thus comprise setting up an on-line communication with said supervising site. Likewise, the process for the on-line purchase or the process for activating the license, launched by the software component when it is executed in said equipment, can comprise setting up an on-line communication with said supervising site. The process according to the invention can also comprise setting up an on-line communication between the vendor site and said supervising site, as well as setting up an on-line communication between the licensing site and said supervising site.

The invention also relates to the software component used in the described process, which is an essential element for implementing said process according to the invention.

These together with other aspects and advantages which will be subsequently apparent, reside in the details of construction and operation as more fully hereinafter described and claimed, reference being had to the accompanying drawings forming a part hereof, wherein like numerals refer to like parts throughout.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of a system for the on-line sale of software products use licenses and corresponding processes, according to the embodiments of the invention;

FIG. 2 is a flow chart of implementing a software component, according to an embodiment of the invention;

FIG. 3 is a flow chart of purchasing a use license, implemented by the software component, according to an embodiment of the invention; and

FIG. 4 is a flow chart of purchasing and activating a use license, implemented by the software component, according to an embodiment of the invention.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

FIG. 1 shows the basic process of a new method for the on-line sale of software product use licenses, according to an embodiment of the invention, including embodiment variants.

In this example, the data network in which the process is installed is the Internet. The system is made up of a plurality of manufacturing companies each having a licensing website, a plurality of distribution companies each having a vendor website where a software product 12 of the manufacturing companies are offered, and a plurality of computers connected to Internet forming potential acquisition sites for the on-line acquisition of software products offered by the vendor sites. The invention also provides the possibility that the acquisition sites are hosting servers which acquire and install the software product 12 to then later grant rental licenses to a plurality of users having access to said server.

The software product(s) (SOFT) 12 are typically computer programs, being able to be entire programs, an installation program which installs a computer program or downloads the installation files from a computer program, upgrades or updates of programs that are already installed, etc. These software products 12 shall hereinafter be generically referred to as programs 12.

The manufacturing companies adhering to the online sale of software product use license system (hereinafter referred to as system) in order to be able to sell their programs incorporate with their program 12 a software component (COMP) 14 that is specific for the system. The software component 14 operation can be identical for all of manufacturing companies. To distinguish between different licensing and/or vendor sites, modifiable properties of the component 14 that can be modified during programming are used. The software component 14 shall hereinafter simply be referred to as component 14.

The component 14 refers to the encapsulated group of classes and processes with their corresponding properties, which allows by interface or integration thereof in a third party application and within the execution environment of said application, the execution of certain functionalities which are predefined in the component. It can be presented in the form of an executable file or dynamic library which is included or invoked from a third party application, during the design of said application. According to an aspect of the embodiment, component incorporation refers to interfacing and/or integrating. The ways of including a component within an application may vary according to the programmer or the environment in which the application is programmed, the following ways of doing so being the most common examples:

-   -   Including the component from a graphic menu. The programmer         drags the component (graphic representation thereof) from the         toolbox of the programming environment and inserts the component         in the form of the application. From that moment on, the         programmer has access to the component properties and can modify         them and/or invoke the methods that have been described in the         component.     -   Including the component from source code. The programmer         includes the code lines necessary for invoking the component         (whether it is in library or executable form) within the source         code block belonging to a form of the application. From that         moment on the programmerhas access to the component properties         and can modify them and/or invoke the methods which have been         described in the component.

One skilled in the art of programming can implement the processes of including and using the component with a program, therefore it is not considered necessary to further describe them.

The component interacts with the program, for example, by a series of functions or methods. In this example, the two most important methods, which will be described below, are the method which allows carrying out the purchase of a license on-line (FIG. 1, reference 302) and the method which allows activating a license (FIG. 1, reference 601).

During the purchasing process, the component shows a series of displays (graphical interface) for selecting the type of use license which is desired to be acquired and/or introducing the data needed to purchase the license.

The use license which the user purchases can be of several types. For example, it can be an indefinite license giving the purchaser the right to use the program for an indefinite time period, or a temporary license allowing use of the program for a limited time period. The use license also may or may not include the right for the user to update the program with the new versions thereof launched in the future. Therefore, for example, a temporary use license may allow the use of the program for one year, together with the new program updates that come out during that same year.

The system is preferably supervised by a single supervising site controlled by a supervising entity. Although the system embodiments are not limited to such a configuration and a plurality of supervising sites can be provided. The manufacturing companies which adhere to the system request the supervising site to register their licensing site, identify the programs which they wish to sell on-line and define the condition for the sale thereof. The distribution companies that wish to offer on their sites the programs of the manufacturing companies request in the supervisor site to register their vendor site. A licensing site and a vendor site can agree, in the supervising site, on the conditions of the sale of a program, for example, the sale price and the part that will correspond to each of them. According to an embodiment, the supervising site provides the component to the licensing sites so that the component can be incorporated with the programs. The vendor sites can obtain the programs directly from each licensing site, or through the supervising site (as the case may be), and host the programa for downloading on-line by the purchasers.

In addition to the component supplied to the licensing sites so that the component can be incorporated with their programs, the supervising site may also provide specific applications which are installed in the licensing sites and in the vendor sites for implementing the different communications of the sale process, which will be described below. These applications are not described in detail, as a person skilled in the art would have no difficulty in carrying the communications.

The incorporation of a single supervising site in the system is advantageous because it offers system reliability insurance to the different participants in the sale process. However, the system may also work without the intervention of a supervising site.

FIG. 1 is a block diagram of a system for the on-line sale of software products use licenses and corresponding processes, according to the embodiments of the invention. The user operates from a computer 40 having a communication interface 10 for communicating with Internet and a storage containing a local license database 41. In this example, the communication interface 10 of the computer 40 itself form the acquisition site from which a program SOFT is acquired on-line and the computer 40 forms the equipment where the program SOFT will be executed. However, process according to the invention is also applied to the case in which the program SOFT is acquired on-line operating from one computer and then said program SOFT is installed and executed in another computer. The other elements involved in this example are a vendor site 20, a licensing site 30 and a supervising site 50, which as mentioned above is optional, each of them provided with a main webpage, respectively 22, 32, 52, and a database, respectively 21, 31, 51.

The user sets up communication with the vendor site 20 from the acquisition site 10. This communication can be direct communication 101 or indirect communication 901 through the supervising site 50. In the latter case, the supervising site 50 deals with authenticating the identity of the acquisition site 10 as a user of the system, or it must register the user if the user is new, and may also set up a communication 802 with the vendor site 20. The user chooses a program SOFT offered on the vendor site 20 and downloads the program SOFT into the acquisition site 10 during direct communication 101. Identifying data IDV of the vendor site 20, for example, including the URL address of the vendor site 20, are transmitted along with the download. The transmission of this identifying data IDV can be done in different ways.

Preferably, the program SOFT is contained in a single downloadable file and the data IDV are included as metadata of this file. The inclusion of these data IDV as metadata of the downloadable file is usually done on each vendor site, before the download or during the download. The metadata of a file are data containing formal information of the file, such as the name, size, file type, modification date, owner, etc. For example, in the MICROSOFT WINDOWS environment, these metadata are visible from the File>Document Properties menu in the graphical interface of WINDOWS applications. The location containing these metadata in the file has several fields which are currently free or can be free, and which are used by the process according to the embodiments of the invention for storing the data IDV. It is also possible to define new properties for a file, for example, by using the MICROSOFT DSOFile.dll library. When this preferred solution is used, the data IDV are read by the component COMP as metadata of the file containing the program SOFT, as shown in 201 in FIG. 1.

An alternative solution for transmitting the data IDV includes storing them in an independent file that is downloaded together with the program SOFT. In this case, said independent file is installed in the equipment 40 together with the program SOFT and the data IDV are read by the component COMP in said independent file, as is shown in 202 in FIG. 1.

Another alternative solution includes the vendor site 20 providing the user with a code IDV, for example, by an on-screen display or by sending an e-mail, during the program SOFT downloading process, and the user then furnishes said code IDV to component COMP at the request of the latter, as is shown in 203 in FIG. 1.

If the user downloads a program SOFT of the type not having a trial period, the user purchases the program SOFT by an on-line payment P on the vendor site 20, during the communication 101, and in exchange receives a purchase receipt R containing, either explicitly or by reference, identifying data of the vendor site 20 and information on the type of license acquired. Therefore, both the IDV, for example, containing the URL address of the vendor site 20, and the purchase receipt R have been transmitted in this case from the vendor site 20 to the acquisition site 10. The transmission of the purchase receipt R can be done in the form of an independent file downloaded together with the program SOFT and it is then read by the component COMP, as is shown in 301 in FIG. 1, or by a code furnished to the user, for example, by an on-screen display or by sending an e-mail, which is then furnished to the component COMP at the request of the latter, as is shown in 303 in FIG. 1.

If the user downloads a program SOFT of the demonstration version type, which is operative for only the trial period, then the purchase P is not made during the communication 101. In this case there is no purchase receipt R; only the data IDV, for example, containing the URL address of the vendor site 20, are transmitted from the vendor site to the acquisition site 10.

When the program SOFT is executed in the computer 40, component COMP is executed performing the actions shown in FIG. 2. First, 2 a verifies if in the local license database 41 there is a use license for the program SOFT. If the license exists, 2 b verifies if it is valid. If it is valid, 2 c authorizes the use of the program. If it is not valid, 2 d proposes a connection with the vendor site 20 to purchase a license. The component COMP locally accesses the identifying data IDV of the vendor site 20, which for example includes the URL address of the vendor site, by one of the processes 201, 202 or 203 explained above. If the user agrees, 2 e launches the process for purchasing a license described below and shown in FIG. 3. If, at 2 a, the license does not exist, 2 f verifies if the purchase receipt R exists, which is accessed locally by one of the processes 301 or 303 explained above. If the purchase receipt R exists, 2 g launches the process for obtaining and activating the license described below and shown in FIG. 4. If the purchase receipt R does not exist, 2 h evaluates if a demonstration period for the program SOFT has expired. If the demonstration period has expired, 2 d proposes a connection with the vendor site 20 to purchase a license, as described in the foregoing.

The process for purchasing a use license according to an embodiment of the invention is shown schematically in FIG. 3. In this process, the component COMP carries out the following basic actions. First, 3 a locally accesses the data IDV to obtain, for example, the URL of the vendor site 20, by one of the processes 201, 202 or 203 explained above. Then, 3 b sets up a communication 304 (902, 801 as the case may be) with the licensing site 30 and transmits the data IDV to the licensing site 30. The licensing site 30 checks that the vendor site 20 corresponding to the data IDV is authorized to sell the use license or authenticates the vendor site identifiers provided by the component (COMP) and, if it is authorized, returns a purchase authorization to the component COMP, after which 3 c the component COMP sets up a communication 302 with the vendor site 20 and notifies the vendor site 20 that the component COMP wishes to initiate a process for purchasing a license. During this communication 302, the user can intervene through the graphical interface of the component COMP and choose the type of license most suited to the purchaser. Then, 3 d chooses the type of license the component COMP wishes to purchase and 3 e makes a purchase by an on-line payment P, in exchange receiving at 3 f the purchase receipt R. In this example, the component COMP itself sets up the communication 302 with the vendor site 20. As an alternative, it can be provided that the component COMP shows in the graphical user interface a link to the URL address of the vendor site 20 and allows the user to set up the communication 302 through the browser of the purchaser's computer 40. Optionally, instead of setting up direct communication 302 with the vendor site 20, the component COMP can do this by indirect communication 902 with the supervising site 50 in communication with the vendor site 20 via the setup communication 802.

The process for obtaining and activating the license according to an embodiment of the invention is schematically shown in FIG. 4. In this process, the component COMP carries out the following basic actions. First, 4 a obtains the purchase receipt R, which is accessed locally by one of the processes 301 or 303 explained above. The component COMP also locally access 4 b hardware identifying data IDHW in the computer 40. These data IDHW are, for example, the serial number of the hard drive where the program SOFT is installed, which is read by the component COMP by the process 501 indicated in FIG. 1. The component COMP also obtains the identifying data of the licensing site IDL, for example, the URL address of the licensing site, reading the IDL by the process 401 indicated in FIG. 1. According to an aspect of the embodiments, the data IDL is incorporated in the component COMP itself. Then, 4 d sets up a communication 601 with the licensing site 30 and notifies the licensing site that the component COMP wishes to initiate a license activation session. In the communication 601, the component COMP at 4 e sends the hardware identifying data IDHW and the purchase receipt R and in exchange receives at 4 f a license file LF including the hardware identifying data IDHW, such that the license file LF will only be valid for the use of the program SOFT in said computer 40, and an electronic signature SG done with the private key owned by the licensing site 30. The component COMP owns the electronic signature public key and verifies at 4 g such signature. If the electronic signature SG is correct, at 4 h the component COMP adds the license file LF to the license database 41, where the component COMP stores the information of the different processes for purchasing and activating licenses in which it has been involved. If the electronic signature SG is not correct, at 4 i the license file LF is rejected.

Optionally, instead of setting up direct communication 601 with the licensing site 30, the component COMP may do so by indirect communication 902 with the supervising site 50, which in turn sets up communications 801, 802 with the licensing site 30 and with the vendor site 20, which can also communicate with one another. All this is possible due to the fact that the component COMP knows the identifying data of the supervising site, for example, a URL address of the supervising site 50, and is able to provide the identifying data of the vendor and licensing sites, for example, the URL addresses of the licensing site 30 and of the vendor site 20, contained respectively in the data IDL and IDV which the component COMP accesses locally.

It can also optionally be provided to set up on-line communication 701 between the vendor site 20 and the licensing site 30, during which they exchange information relating to the acquisition of the software product SOFT. For example, this on-line communication 701 allows the licensing site 30 to know that the software product SOFT has been downloaded and/or paid for from a specific and authorized vendor site 20 before the purchaser, through the software component COMP, makes contact with said licensing site 30 to activate a use license. When a use license of software product SOFT has been purchased in an authorized vendor site 20, in said on-line communication 701 the vendor site 20 sends a copy of the purchase receipt R to the licensing site 30.

The embodiments have been described with respect to a process, including an apparatus and computer readable medium thereof, of on-line sale of a software product use license, by:

-   -   offering online, by a plurality of vendor sites, a software         product to be downloaded on-line according to respective online         downloading processes;     -   selling, or offering for purchase online, a use license for said         software product offered by one of said vendor sites and         downloaded on-line; and     -   activating said purchased use license on-line by a licensing         site different from said vendor sites.

The embodiments also comprise a software component as a use license activator for carrying out said process, including an apparatus and a computer readable medium thereof, by incorporating the software component with the software product; executing by an equipment said software component together with said software product for managing the activating a purchased use license for said software product by the licensing site; and associating a vendor site identifier to each of said on-line downloading processes of the software product by the vendor sites, wherein the executing software component locally accesses said vendor site identifier, locally accesses identifying data of the licensing site, and launches a process for managing the activating said purchased use license for the software product based upon the vendor site identifier and the identifying data of the licensing site. According to an aspect of the embodiments, the IDV and IDL can be any identifying information uniquely identifying a vendor site 20 and a licensing web site 30, respectively, and can be generated or provided by the vendor site 20, the licensing web site 30, the software product (SOFT) 12, the component (COMP) 14, or any combinations thereof.

The described examples of preferred embodiments can be implemented in software (as stored or encoded on any known computer readable media, such as, without limitation, a compact disk, a Digital Versatile Disc (DVD), memory, a carrier wave or electro-magnetic signal, etc.) and/or in any computing or information processing hardware, for example, a programmable computing device. For example, the embodiments can be implemented in a programmable electronic device that can store, retrieve, output (for example, display) and process data). For example, the embodiments can be implemented in any type of programmable computing apparatus, such as (without limitation) a personal computer, a personal digital assistant (PDA), a server and/or a client computer in case of a client-server network architecture, or networked computers in a distributed network architecture.

The many features and advantages of the embodiments are apparent from the detailed specification and, thus, it is intended by the appended claims to cover all such features and advantages of the embodiments that fall within the true spirit and scope thereof. Further, since numerous modifications and changes will readily occur to those skilled in the art, it is not desired to limit the inventive embodiments to the exact construction and operation illustrated and described, and accordingly all suitable modifications and equivalents may be resorted to, falling within the scope thereof. 

1-42. (canceled)
 43. A method comprising: a first site transmitting source code to a second site for the purpose of being incorporated into a software product, the first site different from the software product manufacturer site, the source code comprising executable instructions that when executed in a first electronic device assist in establishing a communication between the first electronic device and the first site for the purpose of initiating a purchase of the software product, or upgrades thereof, by a user of the first electronic device from the first site; receiving in the first site the software product incorporating the executable instructions; and transmitting from the first site the software product incorporating the executable instructions to the first electronic device.
 44. A method according to claim 43, further comprising receiving in the first site via the communication a request to purchase the software product or upgrades thereof.
 45. A method according to claim 43, wherein the second site is the software product manufacturer site.
 46. (canceled)
 47. The method according to claim 43, further comprising the first site transmitting one or more applications to the second site, the one or more applications when installed at the second site being useable to implement facilitate communications between the first site and the second site.
 48. The method according to claim 43, wherein the first site is a vendor site and the second site is the software product manufacturer site.
 49. The method according to claim 44, further comprising processing in the first site a purchase of the software product and transmitting from the first site to the first electronic device purchase receipt data associated with the purchase readable by the executable instructions.
 50. The method according to claim 44, further comprising processing in the first site a purchase of the software product and transmitting from the first site to the first electronic device identifying data of the first site readable by the executable instructions.
 51. The method according to claim 44, further comprising processing in the first site a purchase of the software product and transmitting from the first site to the first electronic device purchase receipt data associated with the purchase and identifying data of the first site readable by the executable instructions.
 52. The method according to claim 43, wherein the executable instructions when executed in the first electronic device produce one or more graphical interfaces in the electronic device useable to initiate a purchase of the software product, or upgrades thereof, by a user of the first electronic device from the first site, the one or more graphical interfaces enabling the user of the first electronic device to select between different software product purchase options.
 53. The method according to claim 52, wherein a purchase option includes a right to use the software product in the first electronic device for an indefinite period of time.
 54. A method according to claim 52, wherein a purchase option includes a right to use the software product in the first electronic device for a definite period of time.
 55. A method according to claim 52, wherein a purchase option includes a right to install and execute the software product in a second electronic device different than the first electronic device.
 56. A method according to claim 43, wherein the executable instructions are a part of a component.
 57. A method according to claim 43, wherein the executable instructions are modifiable at the second site.
 58. A method according to claim 56, wherein the component has properties that are accessible and modifiable at the second site.
 59. A method comprising: a first site transmitting source code to a second site for the purpose of being incorporated into a software product, the first site different from the software product manufacturer site, the source code comprising executable instructions that when executed in a first electronic device assist in establishing a communication between the first electronic device and a third site associated with the first site for the purpose of initiating a purchase of the software product, or upgrades thereof, by a user of the first electronic device from the third site; receiving in the first site or the third site the software product incorporating the executable instructions; and transmitting from the first site or the third site the software product incorporating the executable instructions to the first electronic device.
 60. A method according to claim 59, further comprising receiving in the third site via the communication a request to purchase the software product or upgrades thereof.
 61. A method according to claim 59, wherein the second site is the software product manufacturer site.
 62. A method according to claim 59 wherein the first site is a supervising site and the third site is a vendor site.
 63. A method according to claim 59 wherein the first site is a supervising site, the second site is the software product manufacturer site and the third site is a vendor site.
 64. (canceled)
 65. The method according to claim 59, further comprising the first site transmitting one or more applications to the second site, the one or more applications when installed on the second site being useable to implement communications between the first site and the second site for the purpose of facilitating the software product purchase process of claim
 60. 66. The method according to claim 59, further comprising the first site transmitting one or more applications to the third site, the one or more applications when installed at the third site being useable to facilitate communications between the first site and the third site.
 67. The method according to claim 59, further comprising the first site transmitting one or more first applications to the second site and on or more second applications to the third site, the one or more first applications when installed at the second site, being useable to facilitate communications between the first site and the second site, the one or more second applications when installed at the third site being useable to facilitate communications between the first site and the third site and third.
 68. The method according to claim 60, further comprising processing in the third site a purchase of the software product and transmitting from the third site to the first electronic device purchase receipt data associated with the purchase readable by the executable instructions.
 69. The method according to claim 60, further comprising processing in the third site a purchase of the software product and transmitting from the third site to the first electronic device identifying data of the third site readable by the executable instructions.
 70. The method according to claim 60, further comprising processing in the third site a purchase of the software product and transmitting from the third site to the first electronic device purchase receipt data associated with the purchase and identifying data of the third site readable by the executable instructions.
 71. The method according to claim 59, wherein the executable instructions when executed in the first electronic device produce one or more graphical interfaces in the electronic device useable to initiate a purchase of the software product, or upgrades thereof, by a user of the first electronic device from the third site, the one or more graphical interfaces enabling the user of the first electronic device to select between different software product purchase options.
 72. The method according to claim 71, wherein a purchase option includes a right to use the software product in the first electronic device for an indefinite period of time.
 73. A method according to claim 71, wherein a purchase option includes a right to use the software product in the first electronic device for a definite period of time.
 74. A method according to claim 71, wherein a purchase option includes a right to install and execute the software product in a second electronic device different than the first electronic device.
 75. A method according to claim 59, wherein the executable instructions are a part of a component.
 76. A method according to claim 59, wherein the executable instructions are modifiable at the second site.
 77. A method according to claim 75, wherein the component has properties that are accessible and modifiable at the second site.
 78. A method comprising: a first site transmitting source code to a second site for the purpose of being incorporated into a software product, the first site different from the software product manufacturer site, the source code comprising executable instructions that when executed in a first electronic device assist in establishing a communication between the first electronic device and the first site or a third site associated with the first site for the purpose of initiating a purchase of the software product, or upgrades thereof, by a user of the first electronic device from the first site or from a third site associated with the first site; receiving in the first site or the third site the software product incorporating the executable instructions; and transmitting from the first site or the third site the software product incorporating the executable instructions to the first electronic device.
 79. A method according to claim 78, further comprising receiving in the first site or the third site a request initiated by the executable instructions to purchase the software product or upgrades thereof.
 80. A method according to claim 78, wherein the second site is the software product manufacturer site.
 81. A method according to claim 78 wherein the first site is a supervising site and the third site is a vendor site.
 82. A method according to claim 78 wherein the first site is a supervising site, the second site is the software product manufacturer site and the third site is a vendor site.
 83. (canceled)
 84. The method according to claim 78, further comprising the first site transmitting one or more applications to the second site, the one or more applications when installed at the second site being useable to facilitate communications between the first site and the second site.
 85. The method according to claim 78, further comprising the first site transmitting one or more applications to the third site, the one or more applications when installed at the third site being useable to facilitate communications between the first site and the third site.
 86. The method according to claim 78, further comprising the first site transmitting one or more first applications to the second site and one or more second applications to the third site, the one or more first applications when installed on the second site being useable to facilitate communications between the first site and the second site, the one or more second applications when installed at the third site being useable to facilitate communications between the first site and the third site.
 87. The method according to claim 78, wherein the executable instructions when executed in the first electronic device produce one or more graphical interfaces in the electronic device useable to initiate a purchase of the software product, or upgrades thereof, by a user of the first electronic device from the first site or the third site, the one or more graphical interfaces enabling the user of the first electronic device to select between different software product purchase options.
 88. The method according to claim 87, wherein a purchase option includes a right to use the software product in the first electronic device for an indefinite period of time.
 89. A method according to claim 87, wherein a purchase option includes a right to use the software product in the first electronic device for a definite period of time.
 90. A method according to claim 87, wherein a purchase option includes a right to install and execute the software product in a second electronic device different than the first electronic device.
 91. A method according to claim 78, wherein the executable instructions are a part of a component.
 92. A method according to claim 78, wherein the executable instructions are modifiable at the second site.
 93. A method according to claim 91, wherein the component has properties that are accessible and modifiable at the second site. 